package Test_0520;

/**
 * Created with Intellij IDEA
 * Description:
 * User: 星辰
 * Dare: 2024-05-21
 * Time: 23:34
 */
public class test {
    /**
     * Created with Intellij IDEA
     * Description:
     * User: 星辰
     * Dare: 2024-05-20
     * Time: 23:55
     */
    public class test2 {
        public static void main(String[] args) {
            boolean a=true;
            boolean b=false;
        }
        public static void main3(String[] args) {
            byte a=125;
            byte b=4;
            int c=a+b;
            int d=(byte)(a+b);
            System.out.println(a+b);//129
            System.out.println(c);//129
            //以上两个都是将byte类型提升为int类型得出的结果
            System.out.println(d);//-127
            // d是将a+b的类型在提升为int的情况下强制类型转化为byte的情况下
            // 因为byte的范围是-127~128；相对于一个圆，128下一个就是-127
        }
        public static void main2(String[] args) {
            double g=1.0;
            double d=2.0;
            double h=g+d;
            System.out.println(h);//3.0
            byte a=1;
            byte b=2;
            int c=(byte)(a+b);
            int k=a+b;//不能书写成byte k=a+b,编译器会报错
            //a+b的运算会将a和b的类型先提升为int在进行计算，所以得出的几个类型是int而不是byte
            System.out.println(c);//3
            System.out.println(k);//3
            short i=1;
            short j=2;
            int p=(short)(i+j);
            int l=i+j;//同理，不能书写成short l=i+j，编译器会报错
            //i+j的运算会将i和j的类型先提升为int在进行计算，所以得出的几个类型是int而不是short
            System.out.println(p);//3
            System.out.println(l);//3
        }
        public static void main1(String[] args) {
            int a=1;
            byte b=2;
            int k=a+b;//不能为byte k=a+b，否则编译器报错
            System.out.println(a+b);//3
            System.out.println(a-b);//-1
            System.out.println(a*b);//2
            System.out.println(a/b);//0，以整形的形式去掉小数点
            System.out.println(b/a);//2
            int f=4;
            double g=20.0;//20与20.0的结果相同
            double l=f+g;//同样，l类型不能为int，编译器会进行报错
            System.out.println(f+g);//24.0
            System.out.println(f-g);//-16.0
            System.out.println(f*g);//80.0
            System.out.println(f/g);//0.2
            System.out.println(g/f);//5.0
        }
    }

}
